package com.cn.kehong.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class EnergyExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public EnergyExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andWorkshopIsNull() {
            addCriterion("workshop is null");
            return (Criteria) this;
        }

        public Criteria andWorkshopIsNotNull() {
            addCriterion("workshop is not null");
            return (Criteria) this;
        }

        public Criteria andWorkshopEqualTo(String value) {
            addCriterion("workshop =", value, "workshop");
            return (Criteria) this;
        }

        public Criteria andWorkshopNotEqualTo(String value) {
            addCriterion("workshop <>", value, "workshop");
            return (Criteria) this;
        }

        public Criteria andWorkshopGreaterThan(String value) {
            addCriterion("workshop >", value, "workshop");
            return (Criteria) this;
        }

        public Criteria andWorkshopGreaterThanOrEqualTo(String value) {
            addCriterion("workshop >=", value, "workshop");
            return (Criteria) this;
        }

        public Criteria andWorkshopLessThan(String value) {
            addCriterion("workshop <", value, "workshop");
            return (Criteria) this;
        }

        public Criteria andWorkshopLessThanOrEqualTo(String value) {
            addCriterion("workshop <=", value, "workshop");
            return (Criteria) this;
        }

        public Criteria andWorkshopLike(String value) {
            addCriterion("workshop like", value, "workshop");
            return (Criteria) this;
        }

        public Criteria andWorkshopNotLike(String value) {
            addCriterion("workshop not like", value, "workshop");
            return (Criteria) this;
        }

        public Criteria andWorkshopIn(List<String> values) {
            addCriterion("workshop in", values, "workshop");
            return (Criteria) this;
        }

        public Criteria andWorkshopNotIn(List<String> values) {
            addCriterion("workshop not in", values, "workshop");
            return (Criteria) this;
        }

        public Criteria andWorkshopBetween(String value1, String value2) {
            addCriterion("workshop between", value1, value2, "workshop");
            return (Criteria) this;
        }

        public Criteria andWorkshopNotBetween(String value1, String value2) {
            addCriterion("workshop not between", value1, value2, "workshop");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeIsNull() {
            addCriterion("energy_type is null");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeIsNotNull() {
            addCriterion("energy_type is not null");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeEqualTo(String value) {
            addCriterion("energy_type =", value, "energyType");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeNotEqualTo(String value) {
            addCriterion("energy_type <>", value, "energyType");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeGreaterThan(String value) {
            addCriterion("energy_type >", value, "energyType");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeGreaterThanOrEqualTo(String value) {
            addCriterion("energy_type >=", value, "energyType");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeLessThan(String value) {
            addCriterion("energy_type <", value, "energyType");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeLessThanOrEqualTo(String value) {
            addCriterion("energy_type <=", value, "energyType");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeLike(String value) {
            addCriterion("energy_type like", value, "energyType");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeNotLike(String value) {
            addCriterion("energy_type not like", value, "energyType");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeIn(List<String> values) {
            addCriterion("energy_type in", values, "energyType");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeNotIn(List<String> values) {
            addCriterion("energy_type not in", values, "energyType");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeBetween(String value1, String value2) {
            addCriterion("energy_type between", value1, value2, "energyType");
            return (Criteria) this;
        }

        public Criteria andEnergyTypeNotBetween(String value1, String value2) {
            addCriterion("energy_type not between", value1, value2, "energyType");
            return (Criteria) this;
        }

        public Criteria andUnitIsNull() {
            addCriterion("unit is null");
            return (Criteria) this;
        }

        public Criteria andUnitIsNotNull() {
            addCriterion("unit is not null");
            return (Criteria) this;
        }

        public Criteria andUnitEqualTo(String value) {
            addCriterion("unit =", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotEqualTo(String value) {
            addCriterion("unit <>", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThan(String value) {
            addCriterion("unit >", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThanOrEqualTo(String value) {
            addCriterion("unit >=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThan(String value) {
            addCriterion("unit <", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThanOrEqualTo(String value) {
            addCriterion("unit <=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLike(String value) {
            addCriterion("unit like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotLike(String value) {
            addCriterion("unit not like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitIn(List<String> values) {
            addCriterion("unit in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotIn(List<String> values) {
            addCriterion("unit not in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitBetween(String value1, String value2) {
            addCriterion("unit between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotBetween(String value1, String value2) {
            addCriterion("unit not between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andRecordMonthIsNull() {
            addCriterion("record_month is null");
            return (Criteria) this;
        }

        public Criteria andRecordMonthIsNotNull() {
            addCriterion("record_month is not null");
            return (Criteria) this;
        }

        public Criteria andRecordMonthEqualTo(String value) {
            addCriterion("record_month =", value, "recordMonth");
            return (Criteria) this;
        }

        public Criteria andRecordMonthNotEqualTo(String value) {
            addCriterion("record_month <>", value, "recordMonth");
            return (Criteria) this;
        }

        public Criteria andRecordMonthGreaterThan(String value) {
            addCriterion("record_month >", value, "recordMonth");
            return (Criteria) this;
        }

        public Criteria andRecordMonthGreaterThanOrEqualTo(String value) {
            addCriterion("record_month >=", value, "recordMonth");
            return (Criteria) this;
        }

        public Criteria andRecordMonthLessThan(String value) {
            addCriterion("record_month <", value, "recordMonth");
            return (Criteria) this;
        }

        public Criteria andRecordMonthLessThanOrEqualTo(String value) {
            addCriterion("record_month <=", value, "recordMonth");
            return (Criteria) this;
        }

        public Criteria andRecordMonthLike(String value) {
            addCriterion("record_month like", value, "recordMonth");
            return (Criteria) this;
        }

        public Criteria andRecordMonthNotLike(String value) {
            addCriterion("record_month not like", value, "recordMonth");
            return (Criteria) this;
        }

        public Criteria andRecordMonthIn(List<String> values) {
            addCriterion("record_month in", values, "recordMonth");
            return (Criteria) this;
        }

        public Criteria andRecordMonthNotIn(List<String> values) {
            addCriterion("record_month not in", values, "recordMonth");
            return (Criteria) this;
        }

        public Criteria andRecordMonthBetween(String value1, String value2) {
            addCriterion("record_month between", value1, value2, "recordMonth");
            return (Criteria) this;
        }

        public Criteria andRecordMonthNotBetween(String value1, String value2) {
            addCriterion("record_month not between", value1, value2, "recordMonth");
            return (Criteria) this;
        }

        public Criteria andRecordYearIsNull() {
            addCriterion("record_year is null");
            return (Criteria) this;
        }

        public Criteria andRecordYearIsNotNull() {
            addCriterion("record_year is not null");
            return (Criteria) this;
        }

        public Criteria andRecordYearEqualTo(String value) {
            addCriterion("record_year =", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearNotEqualTo(String value) {
            addCriterion("record_year <>", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearGreaterThan(String value) {
            addCriterion("record_year >", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearGreaterThanOrEqualTo(String value) {
            addCriterion("record_year >=", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearLessThan(String value) {
            addCriterion("record_year <", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearLessThanOrEqualTo(String value) {
            addCriterion("record_year <=", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearLike(String value) {
            addCriterion("record_year like", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearNotLike(String value) {
            addCriterion("record_year not like", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearIn(List<String> values) {
            addCriterion("record_year in", values, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearNotIn(List<String> values) {
            addCriterion("record_year not in", values, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearBetween(String value1, String value2) {
            addCriterion("record_year between", value1, value2, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearNotBetween(String value1, String value2) {
            addCriterion("record_year not between", value1, value2, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordDayIsNull() {
            addCriterion("record_day is null");
            return (Criteria) this;
        }

        public Criteria andRecordDayIsNotNull() {
            addCriterion("record_day is not null");
            return (Criteria) this;
        }

        public Criteria andRecordDayEqualTo(String value) {
            addCriterion("record_day =", value, "recordDay");
            return (Criteria) this;
        }

        public Criteria andRecordDayNotEqualTo(String value) {
            addCriterion("record_day <>", value, "recordDay");
            return (Criteria) this;
        }

        public Criteria andRecordDayGreaterThan(String value) {
            addCriterion("record_day >", value, "recordDay");
            return (Criteria) this;
        }

        public Criteria andRecordDayGreaterThanOrEqualTo(String value) {
            addCriterion("record_day >=", value, "recordDay");
            return (Criteria) this;
        }

        public Criteria andRecordDayLessThan(String value) {
            addCriterion("record_day <", value, "recordDay");
            return (Criteria) this;
        }

        public Criteria andRecordDayLessThanOrEqualTo(String value) {
            addCriterion("record_day <=", value, "recordDay");
            return (Criteria) this;
        }

        public Criteria andRecordDayLike(String value) {
            addCriterion("record_day like", value, "recordDay");
            return (Criteria) this;
        }

        public Criteria andRecordDayNotLike(String value) {
            addCriterion("record_day not like", value, "recordDay");
            return (Criteria) this;
        }

        public Criteria andRecordDayIn(List<String> values) {
            addCriterion("record_day in", values, "recordDay");
            return (Criteria) this;
        }

        public Criteria andRecordDayNotIn(List<String> values) {
            addCriterion("record_day not in", values, "recordDay");
            return (Criteria) this;
        }

        public Criteria andRecordDayBetween(String value1, String value2) {
            addCriterion("record_day between", value1, value2, "recordDay");
            return (Criteria) this;
        }

        public Criteria andRecordDayNotBetween(String value1, String value2) {
            addCriterion("record_day not between", value1, value2, "recordDay");
            return (Criteria) this;
        }

        public Criteria andLastYearIsNull() {
            addCriterion("last_year is null");
            return (Criteria) this;
        }

        public Criteria andLastYearIsNotNull() {
            addCriterion("last_year is not null");
            return (Criteria) this;
        }

        public Criteria andLastYearEqualTo(String value) {
            addCriterion("last_year =", value, "lastYear");
            return (Criteria) this;
        }

        public Criteria andLastYearNotEqualTo(String value) {
            addCriterion("last_year <>", value, "lastYear");
            return (Criteria) this;
        }

        public Criteria andLastYearGreaterThan(String value) {
            addCriterion("last_year >", value, "lastYear");
            return (Criteria) this;
        }

        public Criteria andLastYearGreaterThanOrEqualTo(String value) {
            addCriterion("last_year >=", value, "lastYear");
            return (Criteria) this;
        }

        public Criteria andLastYearLessThan(String value) {
            addCriterion("last_year <", value, "lastYear");
            return (Criteria) this;
        }

        public Criteria andLastYearLessThanOrEqualTo(String value) {
            addCriterion("last_year <=", value, "lastYear");
            return (Criteria) this;
        }

        public Criteria andLastYearLike(String value) {
            addCriterion("last_year like", value, "lastYear");
            return (Criteria) this;
        }

        public Criteria andLastYearNotLike(String value) {
            addCriterion("last_year not like", value, "lastYear");
            return (Criteria) this;
        }

        public Criteria andLastYearIn(List<String> values) {
            addCriterion("last_year in", values, "lastYear");
            return (Criteria) this;
        }

        public Criteria andLastYearNotIn(List<String> values) {
            addCriterion("last_year not in", values, "lastYear");
            return (Criteria) this;
        }

        public Criteria andLastYearBetween(String value1, String value2) {
            addCriterion("last_year between", value1, value2, "lastYear");
            return (Criteria) this;
        }

        public Criteria andLastYearNotBetween(String value1, String value2) {
            addCriterion("last_year not between", value1, value2, "lastYear");
            return (Criteria) this;
        }

        public Criteria andThisYearIsNull() {
            addCriterion("this_year is null");
            return (Criteria) this;
        }

        public Criteria andThisYearIsNotNull() {
            addCriterion("this_year is not null");
            return (Criteria) this;
        }

        public Criteria andThisYearEqualTo(String value) {
            addCriterion("this_year =", value, "thisYear");
            return (Criteria) this;
        }

        public Criteria andThisYearNotEqualTo(String value) {
            addCriterion("this_year <>", value, "thisYear");
            return (Criteria) this;
        }

        public Criteria andThisYearGreaterThan(String value) {
            addCriterion("this_year >", value, "thisYear");
            return (Criteria) this;
        }

        public Criteria andThisYearGreaterThanOrEqualTo(String value) {
            addCriterion("this_year >=", value, "thisYear");
            return (Criteria) this;
        }

        public Criteria andThisYearLessThan(String value) {
            addCriterion("this_year <", value, "thisYear");
            return (Criteria) this;
        }

        public Criteria andThisYearLessThanOrEqualTo(String value) {
            addCriterion("this_year <=", value, "thisYear");
            return (Criteria) this;
        }

        public Criteria andThisYearLike(String value) {
            addCriterion("this_year like", value, "thisYear");
            return (Criteria) this;
        }

        public Criteria andThisYearNotLike(String value) {
            addCriterion("this_year not like", value, "thisYear");
            return (Criteria) this;
        }

        public Criteria andThisYearIn(List<String> values) {
            addCriterion("this_year in", values, "thisYear");
            return (Criteria) this;
        }

        public Criteria andThisYearNotIn(List<String> values) {
            addCriterion("this_year not in", values, "thisYear");
            return (Criteria) this;
        }

        public Criteria andThisYearBetween(String value1, String value2) {
            addCriterion("this_year between", value1, value2, "thisYear");
            return (Criteria) this;
        }

        public Criteria andThisYearNotBetween(String value1, String value2) {
            addCriterion("this_year not between", value1, value2, "thisYear");
            return (Criteria) this;
        }

        public Criteria andThisMonthIsNull() {
            addCriterion("this_month is null");
            return (Criteria) this;
        }

        public Criteria andThisMonthIsNotNull() {
            addCriterion("this_month is not null");
            return (Criteria) this;
        }

        public Criteria andThisMonthEqualTo(String value) {
            addCriterion("this_month =", value, "thisMonth");
            return (Criteria) this;
        }

        public Criteria andThisMonthNotEqualTo(String value) {
            addCriterion("this_month <>", value, "thisMonth");
            return (Criteria) this;
        }

        public Criteria andThisMonthGreaterThan(String value) {
            addCriterion("this_month >", value, "thisMonth");
            return (Criteria) this;
        }

        public Criteria andThisMonthGreaterThanOrEqualTo(String value) {
            addCriterion("this_month >=", value, "thisMonth");
            return (Criteria) this;
        }

        public Criteria andThisMonthLessThan(String value) {
            addCriterion("this_month <", value, "thisMonth");
            return (Criteria) this;
        }

        public Criteria andThisMonthLessThanOrEqualTo(String value) {
            addCriterion("this_month <=", value, "thisMonth");
            return (Criteria) this;
        }

        public Criteria andThisMonthLike(String value) {
            addCriterion("this_month like", value, "thisMonth");
            return (Criteria) this;
        }

        public Criteria andThisMonthNotLike(String value) {
            addCriterion("this_month not like", value, "thisMonth");
            return (Criteria) this;
        }

        public Criteria andThisMonthIn(List<String> values) {
            addCriterion("this_month in", values, "thisMonth");
            return (Criteria) this;
        }

        public Criteria andThisMonthNotIn(List<String> values) {
            addCriterion("this_month not in", values, "thisMonth");
            return (Criteria) this;
        }

        public Criteria andThisMonthBetween(String value1, String value2) {
            addCriterion("this_month between", value1, value2, "thisMonth");
            return (Criteria) this;
        }

        public Criteria andThisMonthNotBetween(String value1, String value2) {
            addCriterion("this_month not between", value1, value2, "thisMonth");
            return (Criteria) this;
        }

        public Criteria andYesterdayIsNull() {
            addCriterion("yesterday is null");
            return (Criteria) this;
        }

        public Criteria andYesterdayIsNotNull() {
            addCriterion("yesterday is not null");
            return (Criteria) this;
        }

        public Criteria andYesterdayEqualTo(String value) {
            addCriterion("yesterday =", value, "yesterday");
            return (Criteria) this;
        }

        public Criteria andYesterdayNotEqualTo(String value) {
            addCriterion("yesterday <>", value, "yesterday");
            return (Criteria) this;
        }

        public Criteria andYesterdayGreaterThan(String value) {
            addCriterion("yesterday >", value, "yesterday");
            return (Criteria) this;
        }

        public Criteria andYesterdayGreaterThanOrEqualTo(String value) {
            addCriterion("yesterday >=", value, "yesterday");
            return (Criteria) this;
        }

        public Criteria andYesterdayLessThan(String value) {
            addCriterion("yesterday <", value, "yesterday");
            return (Criteria) this;
        }

        public Criteria andYesterdayLessThanOrEqualTo(String value) {
            addCriterion("yesterday <=", value, "yesterday");
            return (Criteria) this;
        }

        public Criteria andYesterdayLike(String value) {
            addCriterion("yesterday like", value, "yesterday");
            return (Criteria) this;
        }

        public Criteria andYesterdayNotLike(String value) {
            addCriterion("yesterday not like", value, "yesterday");
            return (Criteria) this;
        }

        public Criteria andYesterdayIn(List<String> values) {
            addCriterion("yesterday in", values, "yesterday");
            return (Criteria) this;
        }

        public Criteria andYesterdayNotIn(List<String> values) {
            addCriterion("yesterday not in", values, "yesterday");
            return (Criteria) this;
        }

        public Criteria andYesterdayBetween(String value1, String value2) {
            addCriterion("yesterday between", value1, value2, "yesterday");
            return (Criteria) this;
        }

        public Criteria andYesterdayNotBetween(String value1, String value2) {
            addCriterion("yesterday not between", value1, value2, "yesterday");
            return (Criteria) this;
        }

        public Criteria andTodayIsNull() {
            addCriterion("today is null");
            return (Criteria) this;
        }

        public Criteria andTodayIsNotNull() {
            addCriterion("today is not null");
            return (Criteria) this;
        }

        public Criteria andTodayEqualTo(String value) {
            addCriterion("today =", value, "today");
            return (Criteria) this;
        }

        public Criteria andTodayNotEqualTo(String value) {
            addCriterion("today <>", value, "today");
            return (Criteria) this;
        }

        public Criteria andTodayGreaterThan(String value) {
            addCriterion("today >", value, "today");
            return (Criteria) this;
        }

        public Criteria andTodayGreaterThanOrEqualTo(String value) {
            addCriterion("today >=", value, "today");
            return (Criteria) this;
        }

        public Criteria andTodayLessThan(String value) {
            addCriterion("today <", value, "today");
            return (Criteria) this;
        }

        public Criteria andTodayLessThanOrEqualTo(String value) {
            addCriterion("today <=", value, "today");
            return (Criteria) this;
        }

        public Criteria andTodayLike(String value) {
            addCriterion("today like", value, "today");
            return (Criteria) this;
        }

        public Criteria andTodayNotLike(String value) {
            addCriterion("today not like", value, "today");
            return (Criteria) this;
        }

        public Criteria andTodayIn(List<String> values) {
            addCriterion("today in", values, "today");
            return (Criteria) this;
        }

        public Criteria andTodayNotIn(List<String> values) {
            addCriterion("today not in", values, "today");
            return (Criteria) this;
        }

        public Criteria andTodayBetween(String value1, String value2) {
            addCriterion("today between", value1, value2, "today");
            return (Criteria) this;
        }

        public Criteria andTodayNotBetween(String value1, String value2) {
            addCriterion("today not between", value1, value2, "today");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}